package de.gwtprime.client;


import com.google.gwt.place.shared.PlaceController;
import com.google.web.bindery.event.shared.EventBus;

import de.gwtprime.client.views.ArticleOverviewView;
import de.gwtprime.client.views.ArticleSectionView;
import de.gwtprime.client.views.ArticleView;
import de.gwtprime.client.views.FooterView;
import de.gwtprime.client.views.ImpressumView;
import de.gwtprime.client.views.QuestionView;
import de.gwtprime.client.views.UserAccountView;
import de.gwtprime.client.views.WelcomeView;
import de.gwtprime.client.viewsStatic.GreenHeadView;
import de.gwtprime.client.viewsStatic.NavigationViewImpl;
import de.gwtprime.client.widgets.notificationCenter.NotificationCenterWidget;
import de.gwtprime.shared.requestFactory.User2Proxy;

public interface ClientFactory {

	public EventBus getEventBus();
	public PlaceController getPlaceController();
	public ArticleView getArticleView();
	public QuestionView getQuestionView();
	public ImpressumView getImpressumView();
	public WelcomeView getWelcomeView();
	public UserAccountView getUserAccountView();
	public NavigationViewImpl getNavigationView();
	public FooterView getFooterView();
	public PrimeServiceAsync getPrimeService();
	public GreenHeadView getGreenHeadView();
	public PrimeRequestFactory getRequestFactory();
	public User2Proxy getUser();
	public void setUser(User2Proxy user);
	//public ArticlePreviewWidget getArticlePreviewWidget();
	
	public NotificationCenterWidget getNotificationCenter();
	public ArticleOverviewView getArticleOverviewWidget();
	public ArticleSectionView getArticleSectionView();
	
}
